interface Material {
  name: string;
  spec: string;
  unit: string;
  quantity: number;
  price: number;
  payment: number;
  tax: number;
  remarks: string;
}

export interface ContractSubmissionVO {
  id: string | number;
  applyDate: string;
  applicant: string;
  department: string;
  companyName: string;
  taxNumber: string;
  addressAndPhone: string;
  bankInfo: string;
  bankCode: string;
  projectInfo: string;
  contractName: string;
  contractCode: string;
  paymentInfo: string;
  includeInstallation: string;
  dateinfo: string;
  supplier: string;
  remark: string;
  materials: Material[];
  viceManager: string;
  generalManager: string;
  purchaseManager: string;
  status: string;
}

export interface ContractSubmissionForm extends BaseEntity {
  id?: string | number;
  applyDate?: string;
  applicant?: string;
  department?: string;
  companyName?: string;
  taxNumber?: string;
  addressAndPhone?: string;
  bankInfo?: string;
  bankCode?: string;
  projectInfo?: string;
  contractName?: string;
  contractCode?: string;
  paymentInfo?: string;
  includeInstallation?: string;
  dateinfo?: string;
  supplier?: string;
  remark?: string;
  materials?: Material[];
  viceManager?: string;
  generalManager?: string;
  purchaseManager?: string;
  status?: string;
  /**
   * 节点编码
   */
  nodeCode?: string;
}

export interface ContractSubmissionQuery extends PageQuery {

  /**
   * 申请人
   */
  applicant?: string;

  /**
   * 申请日期
   */
  applydate?: string;

  /**
   * 申请部门
   */
  department?: string;

  /**
   * 公司名称
   */
  companyName?: string;

  /**
   * 税号
   */
  taxNumber?: string;

  /**
   * 地址、电话
   */
  addressAndPhone?: string;

  /**
   * 开户行、账号
   */
  bankInfo?: string;

  /**
   * 行号
   */
  bankCode?: string;

  /**
   * 立项名称及编号
   */
  projectInfo?: string;

  /**
   * 合同名称
   */
  contractName?: string;

  /**
   * 合同编码
   */
  contractCode?: string;

  /**
   * 税率、付款方式、付款比例、开票节点、质保期
   */
  paymentInfo?: string;

  /**
   * 是否包含安装
   */
  includeInstallation?: string;

  /**
   * 到货日期及安装调试日期要求
   */
  dateinfo?: string;

  /**
   * 供应商联系人及电话
   */
  supplier?: string;

  /**
   * 物料清单
   */
  materials?: string;

  /**
   * 主管副总审批意见
   */
  viceManager?: string;

  /**
   * 总经理审批意见
   */
  generalManager?: string;

  /**
   * 采购经理审批意见
   */
  purchaseManager?: string;

  /**
   * 状态
   */
  status?: string;

    /**
     * 日期范围参数
     */
    params?: any;
}
